#pragma once

#include "fxcc/core/graph/opengl3/pch.h"

namespace fxcc
{
    namespace graph
    {
        namespace opengl3
        {
            struct FXCC_API VertexAttr
            {

                unsigned int index;
                int size;
                int type;
                bool normalized;
                int stride;
                const void *pointer;

                void Use() const;
            };

            struct FXCC_API InputLayout
            {

                std::vector<VertexAttr> m_VertexAttrs;
                InputLayout() = default;
                InputLayout(const std::vector<VertexAttr> &va) : m_VertexAttrs(va)
                {
                }
                void Use() const;
            };
        };
    };
};
